home *** CD-ROM | disk | FTP | other *** search
- {
- STEVE ROGERS
-
- > Also, does anyone know how PKware wrote the ZIP2EXE Program? I'm also
- >writing an encryption Program, and I thought a 'self-decrypting' File
- >would be neat, so I had some ideas on how to do it. Could you just
- >append the encrypted data to the end of a short 'stub' Program, which
- >just seeks in how ever many Bytes and reads from there? Or would I
- >have to somehow assign all the data to a few Typed Constants?
-
- Just so happens I have been dealing With the same problem. I have
- written a Procedure to show the "True" size of an EXE File. Knowing this
- you can easily get to your "data area" by seeking past the "True" size.
-
- ( Acknowledgements to Andy McFarland and Ray Duncan )
- }
-
- Function exesize(fname : String) : LongInt;
- Type
- t_size = Record
- mz : Array [1..2] of Char;
- remainder,
- pages : Word;
- end;
-
- Var
- f : File of t_size;
- sz : t_size;
-
- begin
- assign(f,fname);
- {$i-}
- reset(f);
- {$i+} { io checking should be off }
- if (ioresult <> 0) then
- exesize:= 0
- else
- begin
- read(f,sz);
- close(f);
- With sz do
- exesize := remainder + (pred(pages) * 512);
- end;
- end;
-
-
- {
- This thing reads the header of an EXE File and gets the info there. I
- was amazed when I ran this on a bunch of progs and found how many have
- data appended. Hope it helps. :)
- }